package calificaciones;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import sistemas.sam.R;
import android.app.Activity;
import android.graphics.Color;
import android.net.ParseException;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class Consulta_Calificacion extends Activity  {

	

	String resive;
	int numf,numc;
	int cont=0;
	int contId=0;
	String []materia;
	String []materiaID;
	String matricula;
	List l =new ArrayList();
	List lm=new ArrayList();


	 JSONArray jArray=null;
		String result = null;
		InputStream is = null;
		StringBuilder sb = null;
		public ConectarSam mAuthTask =null;
		String mtID,unID;
		public  String CalificacionA;
		public List<String> Lmateria =new ArrayList<String>(); 
		int contIDC=0;
		
		
		public List<String> Lprueba =new ArrayList<String>(); 
    	TextView txtC;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.consultacalif);
		
		
		matricula="20113TI112";
		Bundle extra=getIntent().getExtras();
		
		materia=extra.getStringArray("materia");
		materiaID=extra.getStringArray("materiaID");
		
		
		for(int i=0;i<materia.length;i++){
			l.add(""+materia[i]);
		}
		l.add("");
		
		for(int i=0;i<materiaID.length;i++){
			lm.add(""+materiaID[i]);
		}
		lm.add("");
		
	int f=l.size();
		
		int filas = f;
        int colum = 5;
        int tam = 2;
       
        
        numc = filas;
        numf=colum;
    
        
        int contP=0;
        
    	 
        calificacion c=new calificacion();	
		c.NUEVO();
		
		
		for(int i=0;i<c.Lcalificacion.size();i++){
		//	Log.d("SAVE", ":D  "+c.Lcalificacion.get(i));
			String a=""+c.Lcalificacion.get(i);
			Lprueba.add(""+a);
		}
		Lprueba.add("");
        

        
        
        LinearLayout ll = (LinearLayout) findViewById(R.id.linearUlt);
        
        TextView titulo= new TextView(this);
       
        titulo.setText("Tabla Dinamica de " + filas +" Filas X " + colum + " Columnas");
        ll.addView(titulo);
       
     TableLayout etiquetaTabla = dibujarTabla(tam, filas, colum, "#E1CDCD");
       ll.addView(etiquetaTabla);
	
        
        

        c.limpiar();
        
	}
	
	

	
	
	
	
	public TableLayout dibujarTabla(int tamBorde, int numeroFilas, int numeroColumnas, String colorBorde){
    	TableLayout tabla = new TableLayout(this);
    	
    	if(numeroFilas>0 && numeroColumnas>0){
	    	TableRow fila = new TableRow(this);
	    	
	    	
	    	int numeroCeldas = numeroFilas * numeroColumnas;
	    	

	    	
	    	int ancho=(getWindowManager().getDefaultDisplay().getWidth()/numeroColumnas)-(tamBorde+(tamBorde/(numeroColumnas)));

	    	ancho--;
	    	
	    	
	    	int contadorColumnas=0;
	        int contadorFilas=0;
	    	
	        for (int i = 0; i <= numeroCeldas; i++) {
	        
	        	if(contadorColumnas==numeroColumnas){
	        		tabla.addView(fila);
	        		fila = new TableRow(this);
	        		contadorColumnas=0;
	        		contadorFilas++;
	        		
	        	}
	        	
	        
	        	RelativeLayout borde = new RelativeLayout(this);
	        	
	        	borde.setPadding(tamBorde,tamBorde,0,0);
	        
	    	
	        	if(contadorColumnas==numeroColumnas-1){
	        		
	        		borde.setPadding(tamBorde, tamBorde, tamBorde, 0);
	        	}
	      
	        	if(contadorFilas==numeroFilas-1){
	        		
	        		borde.setPadding(tamBorde,tamBorde,0,tamBorde);
	        		
	        		if(contadorColumnas==(numeroColumnas)-1){
	        			
	        			borde.setPadding(tamBorde,tamBorde,tamBorde,tamBorde);
	        		}
	        	}
	        	
	        	borde.setBackgroundColor(Color.parseColor(colorBorde));
	        	
	        	
	        	TextView texto = new TextView(this);
	        	 txtC = new TextView(this);
	      	    
	      	    if(i==0){
	      	    	
	      	    	ancho=ancho+150;
	      	    	texto.setText("Materias");	
	      	    	
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CENTER);
		        	texto.setPadding(2, 2, 2, 2);
		        	
		        	texto.setBackgroundColor(Color.WHITE);
		        	
		    
		        	borde.addView(texto);
	      	    }
	      	    
	      	    
	      	    else if(i==1 || i<numf){
	      	    
	      	    	
	        		texto.setText("Unidad "+i);
	       	
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CENTER);
		        	texto.setPadding(2, 2, 2, 2);
		        	texto.setBackgroundColor(Color.WHITE);
		        	
		       
		        	borde.addView(texto);
		        	
	        	}else if(contadorColumnas==0 ){
	        			
	        		texto.setText(""+l.get(cont));
	        	//texto.setText("Materia");
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CLIP_HORIZONTAL);
		        	texto.setPadding(2, 2, 2, 2);
		          	texto.setBackgroundColor(Color.WHITE);
		
		        	borde.addView(texto);
		        cont++;
	        	}
	        	
	        	else if(contadorColumnas>0)
	        	{
	        
	        		
	        		
	        	
	        		//contId=contadorFilas-1;
	        	//		mtID=""+lm.get(contId);
	        //			unID=""+contadorColumnas;
	        			
	        	//		mAuthTask=new ConectarSam();
	            	//	mAuthTask.execute((Void)null);
	        	
	       //	calificacion cc=new calificacion();
	      
	       
	        	
	      
	     //   	cc.CalificacionM(mtID, unID, matricula);
	        	
	        	
	         String a=""+Lprueba.get(contIDC);
	        	Log.d("Clase", "Consulta "+a);
	        	txtC.setText(""+a);
	        	txtC.setWidth(ancho);
	        	txtC.setGravity(Gravity.CENTER);
	        	txtC.setPadding(2, 2, 2, 2);
	        	txtC.setBackgroundColor(Color.WHITE);
		        	borde.addView(txtC);
		        	
	        		
		        	contIDC++;	        		
	        	}
	      	  
	      
	        	fila.addView(borde);
	        	contadorColumnas++;
				 
			}
    	}else{
            TextView error= new TextView(this);
            error.setText("Valores de columnas o filas deben ser mayor de 0");
            tabla.addView(error);
		}
    	
    	return tabla;
    }


public class ConectarSam extends AsyncTask<Void, Void, Boolean> {
	@Override
	public Boolean doInBackground(Void... params) {
		ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
		nameValuePairs.add(new BasicNameValuePair("id",String.valueOf(mtID)));
				nameValuePairs.add(new BasicNameValuePair("idUnidad",String.valueOf(unID)));
				
	
		try {
			HttpClient httpclient = new DefaultHttpClient();
			Log.v("log_tag ","http://192.168.1.68/SAM/nuevaconsulta.php?id="+mtID+"&idUnidad="+unID+"&matricula=20113TI112");
			//HttpPost httppost = new HttpPost("http://192.168.1.68/SAM/nuevaconsulta.php?id=30&idUnidad=1&matricula=20113TI112");
			
			HttpPost httppost = new HttpPost("http://192.168.1.68/SAM/nuevaconsulta.php");
			
			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
			HttpResponse response = httpclient.execute(httppost);
			HttpEntity entity = response.getEntity();
			is = entity.getContent();
		} catch (Exception e) {
			Log.e("log_tag", " "
					+ e.toString());
		}
		try {
			BufferedReader reader = new BufferedReader(
					new InputStreamReader(is, "iso-8859-1"), 8);
			sb = new StringBuilder();
			sb.append(reader.readLine() + "\n");

			String line = "0";
			while ((line = reader.readLine()) != null) {
				sb.append(line + "\n");
			}
			is.close();
			result = sb.toString();
			Log.v(" obtenido",result);
		} catch (Exception e) {
			Log.e("log_tag",
					"Error convirtiendo datos recibidos Calificacion Consulta " + e.toString());
		}
		
	
		try {
			//jArray = new JSONArray(result);
			JSONObject json_data = new JSONObject(result);
		
				//json_data = getJSONObject(i);
				CalificacionA=json_data.getString("success");
				Log.d("msg", "paso  "+CalificacionA);
	
		} catch (JSONException e1) {
			Log.e("JSON ERR", e1.getMessage());
		} catch (ParseException e1) {
			e1.printStackTrace();
		}
		return true;
	}
	
	

	
}

	
	
	

	
	


	
	
	
	
	
}
